//公共变量



//公共函数

/**
 * 吐西通知
 * @type {{}}
 */
var Toast={
    /**
     * 初始化Toast
     */
    init:function(){
        toastr.options = {
            "closeButton": true,
            "debug": true,
            "progressBar": false,
            "positionClass": "toast-top-right",
            "onclick": null,
            "showDuration": "400",
            "hideDuration": "1000",
            "timeOut": "7000",
            "extendedTimeOut": "1000",
            "showEasing": "swing",
            "hideEasing": "linear",
            "showMethod": "fadeIn",
            "hideMethod": "fadeOut"
        }
    },
    /**
     * 成功通知
     * @param msg 内容
     */
    success:function(msg){
        this.init();
        toastr.success(msg);
    },
    /**
     * 提示通知
     * @param msg 内容
     */
    info:function(msg){
        this.init();
        toastr.info(msg);
    },
    /**
     * 警告通知
     * @param msg 内容
     */
    warning:function(msg){
        this.init();
        toastr.warning(msg);
    },
    /**
     * 错误通知
     * @param msg 内容
     */
    error:function(msg){
        this.init();
        toastr.error(msg);
    },
    /**
     * 清除通知
     */
    clean:function(){
        toastr.clear();
    }
}

/**
 * 文件上传工具
 * 注意：结合ajaxfileupload.js 使用
 * @type {{upload: FileUpload.upload}}
 */
var FileUpload={
    /**
     *
     * @param name 文件域名
     * @param url  上传url
     * @param callback 回调函数
     */
    upload:function(name,url,callback){
        var file=$('[name="'+name+'"]')[0].files[0];
        if(file==null){
            Toast.warning('请选择要上传文件！')
        }else{
            console.info('上传文件开始');
            $.ajaxFileUpload({
                url: url, //用于文件上传的服务器端请求地址
                secureuri: false, //是否需要安全协议，一般设置为false
                fileElementId: name, //文件上传域的ID
                dataType: 'JSON', //返回值类型 一般设置为json
                success: function (data, status)  //服务器成功响应处理函数
                {
                    console.info(data)
                    console.info(status)
                    if (typeof (data.error) != 'undefined') {
                        callback(data);
                    }
                },
                error: function (data, status, e)//服务器响应失败处理函数
                {
                    alert(e);
                }
            })
        }
    }
}
/**
 * 相关操作
 * @type {{save: Action.save, delete: Action.delete, resetForm: Action.resetForm, bindingForm: Action.bindingForm}}
 */
var BaseAction={
    /**
     * 添加或修改数据
     */
    save:function(url,params,callback){
        $.post(url,params,function(data){
            callback(data);
        },'json');
    },
    /**
     * 删除数据
     */
    delete:function(url,params,callback){
        $.post(url,params,function(data){
            callback(data);
        },'json');
    },
    /**
     * 重置表单内容
     */
    resetForm:function(name){
        if(name===undefined){
            $('#myForm')[0].reset();
            $('#myForm [name="id"]').val('');
        }else{
            //重置表单验证提示信息
            $('#'+name)[0].validator.resetForm();
            $('#'+name)[0].reset();
            $('#'+name+' [name="id"]').val('');
        }

    },
    /**
     * 绑定表单内容
     * @param obj
     */
    bindingForm:function(name,obj){
        try{
            for(var p in obj){
                console.info('属性',p,'值',obj[p]);
                //设置表单值
                $('#'+name+' '+'[name="'+p+'"]').val(obj[p]);
            }
        }catch(e){
            console.error('绑定参数失败',e)
        }
    },
    setTitle:function(title){
        $('#myModalLabel').html(title);
        $('#myModal').modal('show');
    },
    getObj:function(url,id,callback){

    },
    getList:function(table,callback){
        var list=$('#'+table).bootstrapTable('getSelections');
        callback(list);
    },
    refreshTable:function(name){
        $('#'+name).bootstrapTable('refresh');
    }
}
